Skip to content

SpringBoot项目部署方案

记录一些常用操作:

1、profiles指定不同环境的配置

一般用于区别不同的环境,常见的 开发、测试、正式

环境区分配置文件,可以通过两种方式:

  • 通过application.yml中编码指定 profile.active=uat 方式指定

  • 通过mvn中profiles来区分不同环境对应的配置文件夹,人工可以手动在idea勾选生成不同环境的包(推荐)

image.png

如果是单元测试的话,可以通过 @ActiveProfiles("test") 注解的方式来指定配置文件。

application.yml 编码指定

mvn → profiles 区分

在mvn中配置如下内容

<profiles>  
    <profile>  
        <id>node</id>  
        <properties>  
            <!--传递给脚本的参数值-->  
            <activeProfile>node</activeProfile>  
            <package-name>${scripts_packageName}</package-name>  
            <boot-main>${scripts_bootMain}</boot-main>  
        </properties>  
        <activation>  
            <activeByDefault>true</activeByDefault>  
        </activation>  
    </profile>  
    <profile>  
        <id>node1</id>  
        <properties>  
            <activeProfile>node1</activeProfile>  
            <package-name>${scripts_packageName}</package-name>  
            <boot-main>${scripts_bootMain}</boot-main>  
        </properties>  
    </profile>  
    <profile>  
        <id>node2</id>  
        <properties>  
            <activeProfile>node2</activeProfile>  
            <package-name>${scripts_packageName}</package-name>  
            <boot-main>${scripts_bootMain}</boot-main>  
        </properties>  
    </profile>  
</profiles>

看一下下面这个解释

节点粗解:

id: 用来指定不同环境配置文件所在的目录:

image.png

而在上面的代码中,在给定的配置中,定义了三个 profile,分别是 node, node1, 和 node2。每个 profile 中定义了一些 properties,这些属性可以在构建过程中使用

properties:

该节点中的节点是可作为参数传递给其他配置文件,上面代码中的package-name节点值可以在另外的assembly.xml或者shell脚本文件中通过${package-name}获取到,如下

image.png

activeByDefault: 指定默认环境配置文件夹

↑ 看了一下大概的解释,这里的用法大概是在 pom 依赖配置文件中定义一下对应的 profile 的节点 id ;并配置对应文件夹(在 profiles 文件夹下)

通过不同的文件夹对应不同的 yml 配置文件

然后在打包或者运行的时候通过 类似这种命令来操作 mvn clean install -Pnode1 ;具体待实践一下。

2、maven-assembly-plugin打 发布压缩包

先记录一下,具体没用过,暂时不太清楚

具体内容看参考链接: https://mp.weixin.qq.com/s/yGPnk-bTkcBUiVq2FZsrBQ

to be contined....

后续内容待实际部署的时候使用一下,再进行记录

3、IDEA 的配置文件指定环境

active profiles

image.png


参考